home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / misc1 / iv26_w30.zip / SOURCES / WREQERR.C < prev    next >
C/C++ Source or Header  |  1992-01-16  |  2KB  |  72 lines

  1. /*
  2.  * Copyright (c) 1987, 1988, 1989 Stanford University
  3.  *
  4.  * Permission to use, copy, modify, distribute, and sell this software and its
  5.  * documentation for any purpose is hereby granted without fee, provided
  6.  * that the above copyright notice appear in all copies and that both that
  7.  * copyright notice and this permission notice appear in supporting
  8.  * documentation, and that the name of Stanford not be used in advertising or
  9.  * publicity pertaining to distribution of the software without specific,
  10.  * written prior permission.  Stanford makes no representations about
  11.  * the suitability of this software for any purpose.  It is provided "as is"
  12.  * without express or implied warranty.
  13.  *
  14.  * STANFORD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  15.  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.
  16.  * IN NO EVENT SHALL STANFORD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  17.  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  18.  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  19.  * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
  20.  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  21.  */
  22.  
  23. /*
  24.  * X11-dependent request error handling
  25.  */
  26.  
  27. #include <InterViews/defs.h>
  28. #include <InterViews/reqerr.h>
  29.  
  30. static ReqErr* errhandler;
  31.  
  32. ReqErr::ReqErr() {
  33.     /* no constructor code currently necessary */
  34. }
  35.  
  36. ReqErr::~ReqErr() {
  37.     if (errhandler == this) {
  38.     errhandler = nil;
  39.     }
  40. }
  41.  
  42. void ReqErr::Error() {
  43.     /* default is to do nothing */
  44. }
  45.  
  46. static int DoXError(/*Display* errdisplay, XErrorEvent* e*/) {
  47. /*
  48.     register ReqErr* r = errhandler;
  49.     if (r != nil) {
  50.     r->msgid = e->serial;
  51.     r->code = e->error_code;
  52.     r->request = e->request_code;
  53.     r->detail = e->minor_code;
  54.     r->id = (void*)e->resourceid;
  55.     XGetErrorText(errdisplay, r->code, r->message, sizeof(r->message));
  56.     r->Error();
  57.     }
  58. */
  59.     return 0;
  60. }
  61.  
  62. ReqErr* ReqErr::Install() {
  63. /*    if (errhandler == nil) {
  64.     XSetErrorHandler(DoXError);
  65.     }
  66.     ReqErr* r = errhandler;
  67.     errhandler = this;
  68.     return r;
  69. */
  70.     return this;
  71. }
  72.